﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Waiter.Common;
using DevComponents.DotNetBar;

namespace Waiter.View
{
    public partial class frmLogin : DevComponents.DotNetBar.Office2007Form//Form
    {
        bool bIsLoginOK = false;

        public frmLogin()
        {
            InitializeComponent();
        }

        private void chkUnHidePass_CheckedChanged(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmLogin.chkUnHidePass_CheckedChanged", "", "");
            if (chkUnHidePass.Checked == true)
            {
                txtPassword.PasswordChar = '\0';
            }
            else
            {
                txtPassword.PasswordChar = '*';
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmLogin.btnCancel_Click", "", "");
            this.Close();
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmLogin.btnSave_Click", "", "");
                btnSave.Enabled = false;
                string strUserName = txtUserName.Text;
                string strPassword = txtPassword.Text;
                var login = CommonGlobalVariable.globalDataContext.USERs.FirstOrDefault(x => x.USER_NAME.Equals(strUserName) && x.PASS_WORD.Equals(strPassword) && x.DEL_FLAG == false);

                if (login != null)
                {
                    //Lưu lại các thông tin common
                    Properties.Settings.Default.USER_NAME = strUserName;//Tên dăng nhập hiện tại
                    Properties.Settings.Default.PASS_WORD = strPassword;//Mật khẩu hiển thị
                    Properties.Settings.Default.STAFF_LOGIN_CODE = login.CODE_STAFF; // ma so nhan vien
                    Properties.Settings.Default.USER_TYPE = login.CODE_TYPE;//Loại tài khoản.
                    Properties.Settings.Default.Save();

                    this.fsCreateProgram();
                }
                else
                {
                    this.TopMost = false;
                    MessageBoxEx.Show("Thông tin đăng nhập không đúng. Xin hãy kiểm tra lại.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.TopMost = true;
                }
            }
            catch (Exception)
            {
                this.TopMost = false;
                MessageBoxEx.Show("Thông tin đăng nhập không đúng. Xin hãy kiểm tra lại.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.TopMost = true;
            }
            btnSave.Enabled = true;
        }

        private void fsCreateProgram()
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmLogin.fsCreateProgram", "", "");
            bIsLoginOK = true;
            this.Close();
        }

        private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmLogin.frmLogin_FormClosing", "", "");
            if (bIsLoginOK == true)
            {
                DialogResult = System.Windows.Forms.DialogResult.OK;
            }
            else
            {
                DialogResult = System.Windows.Forms.DialogResult.No;
            }
        }

        private void txtPassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                this.btnSave_Click(null, null);
            }
        }
    }
}


